package main.social.dao;

import java.util.List;
import java.util.Map;

import main.social.entities.Entrys;
import main.social.entities.Users;

public interface EntryDao extends GenericDao<Entrys, Long>{
	
	@SuppressWarnings("rawtypes")
	public List getWeeklyMostView(final int number);
	@SuppressWarnings("rawtypes")
	public List getWeeklyMostViewByUser(final Users user, final int number);
	
	@SuppressWarnings("rawtypes")
	public List getNewestEntrys(final int number);
	@SuppressWarnings("rawtypes")
	public List getNewestEntrysByUser(final Users user, final int number);
	
	@SuppressWarnings("rawtypes")
	public List getMostViewByCatalog(final String catalog, final int number);
	@SuppressWarnings("rawtypes")
	public List getUserEntrysMostViewByCatalog(final Users user, final String catalog, final int number);
	
	public Map<String, Object> getUserEntrysGroupByCatalog(final Users user);
	@SuppressWarnings("rawtypes")
	public List getUserEntrysByCatalog(final Users user, final String catalog);
	
	public Entrys getEntryByUuid(final String uuid);
	
	public Entrys newEntityInstance();
	
	public Entrys increaseView(final String uuid);
	
	public List<Entrys> getEntrysChildByUuid(String uuid);
}
